#ifndef __GNUC__
 #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
 #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

PUTCHAR_PROTOTYPE
{
/* ?Printf?????? */
 USART_SendData(USART1, (unsigned char) ch);
 //USART1->SR:TXE??????????
 //while (!(USART1->SR & USART_FLAG_TXE));
 while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){}//????????
 return (ch);
} 